' This program exported from BASIC Anywhere Machine (Version [5.2.3].[2024.09.09.00.00]) on 2025.06.08 at 02:51 (Coordinated Universal Time)
'
' This program is a port and mod, by Charlie Veniot, of a QB64 program Eric Schraf created
' and shared with the BASIC Programming Language group on Facebook (https://www.facebook.com/share/p/193MikYFkd/)
GOSUB 🟡_init_vars
SCREEN _NEWIMAGE( w, h, 32 )
DEF FN_y_adj = 0.5 * IFF( INT( RND * 2 ) = 0, -1, 1 )
➡render_drawing:
x_adj = RND - 0.5
r1 = RND : r2 = RND : r3 = RND
FOR a = 0 TO w - 1
FOR b = 0 TO 1.5 * h
GOSUB 🟡_setup_draw_vars
IF d < dmin THEN
GOSUB 🟡_draw
END IF
NEXT b
If bDraw THEN SLEEP 0.001 : bDraw = FALSE
NEXT a
SLEEP 3
IF _MOUSEBUTTON THEN WHILE _MOUSEBUTTON : WEND
IF INT( RND * 4 ) = 1 THEN SLEEP 2 : CLS : y_adj = FN_y_adj()
GOTO ➡render_drawing
END
🟡_init_vars:
w = 1280
h = 720
zoom = 4 / w
dmin = 0.05 ' 0.06
y_adj = FN_y_adj()
bDraw = FALSE
RETURN
🟡_draw:
coul = 255 - INT( 4000 * d )
IF coul < 0 THEN coul = 0
IF coul > 255 THEN coul = 255
x1 = a - w / 2
y1 = b - h / 2
x2 = w + w / 2 - 1 - a
y2 = h + h / 2 - b
LINE ( x1, y1 ) - ( x1 + 1, y1 + 1 ), _RGB( r1*coul, r2*coul, r3*coul )
LINE ( x2, y2 ) - ( x2 + 1, y2 + 1 ), _RGB( r1*coul, r2*coul, r3*coul )
bDraw = TRUE
RETURN
🟡_setup_draw_vars:
x = (a - w) * zoom
y = (b - h) * zoom
i = 0
d = 100
DO_A_LOOP:
u = x * x
v = y * y
IF u + v > 4.8 OR i > 30 OR d < dmin THEN GOTO EXIT_DO_A_LOOP
t = u - v
y = 2 * x * y + y_adj ' + 0.156
x = t - 0.9 + x_adj
i = i + 1
n = ABS(u + v - 1)
IF n < d THEN d = n
GOTO DO_A_LOOP
EXIT_DO_A_LOOP:
RETURN